package com.kmxd.ams.client.system.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 系统初始化对象
 *
 * @author ZuoLG
 */
@Schema(description = "系统初始化对象")
@Data
public class SysInitDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 全宗管理员 */
  @Schema(description = "管理员")
  @NotBlank(message = "管理员")
  private String adminUser;

  /** 全宗管理员密码 */
  @Schema(description = "管理员密码")
  @NotBlank(message = "管理员密码")
  private String adminPwd;

  /** 单位名称 */
  @NotBlank(message = "单位名称")
  @Size(max = 100, message = "账号长度不能超过100个字符")
  @Size(max = 100, message = "名称 非空长度不能超过100个字符")
  private String name;

  /** 缩写 */
  @Schema(description = "缩写")
  @Size(max = 100, message = "缩写长度不能超过100个字符")
  private String shortName;

  /** 是否重新初始化 */
  private boolean reset;

  /** 下级单位授权数 */
  @Schema(description = "下级单位授权数")
  @NotNull(message = "下级单位授权数不能为空")
  private Long subCropNum;

  // 默认全宗名称
  /** 编码 即全宗号，非空、不可重复且全局唯一 */
  @Schema(description = "编码 即全宗号，非空、不可重复且全局唯一")
  @NotBlank(message = "编码 即全宗号，非空、不可重复且全局唯一不能为空")
  private String fondsCode;

  /** 名称 非空 */
  @Schema(description = "名称 非空")
  @NotBlank(message = "名称 非空不能为空")
  private String fondsName;

  /** 安全管理员 */
  @Schema(description = "安全管理员")
  private String securityUser;

  /** 安全管理员密码 */
  @Schema(description = "安全管理员密码")
  private String securityPwd;
}
